// Start of Universal Headers 3.2 Defintions **************************************************
// The following structures are from the Prerelease of Universal Headers 3.2
// These are the new DriverGestalts for return color icons
// These should be removed when upgrading to the Universal Headers 3.2.
enum
{
kdgPhysDriveIconSuite = FOUR_CHAR_CODE('dics'), /* Return a pointer to a IconFamily ('icns') data structure for */
/* Disk Driver physical drive (formerly in csCode 22) in driverGestaltResponse. */
kdgMediaIconSuite = FOUR_CHAR_CODE('mics'), /* Return a pointer to a IconFamily ('icns') data structure for */
/* Disk Driver media (formerly in csCode 21) in driverGestaltResponse. */
/* See IconServices.r for information detailing the 'icns' resource data format */
kdgMediaName = FOUR_CHAR_CODE('mnam') /* Return a pointer to a pascal string describing the Disk Driver (formerly in csCode 21) in driverGestaltResponse. */
};
// These support the new 'icns' icon family structures.
// These should be removed once the Headers are updated to UH 3.2
/* IconRefs are 32-bit values identifying cached icon data. IconRef 0 is invalid.*/
typedef struct OpaqueIconRef* IconRef;
/*
IconFamily 'icns' resources contain an entire IconFamily (all sizes and depths).
For custom icons, icns IconFamily resources of the custom icon resource ID are fetched first before
the classic custom icons (individual 'ics#, ICN#, etc) are fetched. If the fetch of the icns resource
succeeds then the icns is looked at exclusively for the icon data.
For custom icons, new icon features such as 32-bit deep icons are only fetched from the icns resource.
This is to avoid incompatibilities with cut & paste of new style icons with an older version of the
MacOS Finder.
DriverGestalt is called with code kdgMediaIconSuite by IconServices after calling FSM to determine a
driver icon for a particular device. The result of the kdgMediaIconSuite call to DriverGestalt should
be a pointer an an IconFamily. In this manner driver vendors can provide rich, detailed drive icons
instead of the 1-bit variety previously supported.